home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / LISP Related / U. Mass AI & LISP Tools / MODULES / HNET / HNET-Test.lisp < prev    next >
Encoding:
Text File  |  1990-06-22  |  4.7 KB  |  106 lines  |  [TEXT/CCL ]

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; File:         HNET-TEST.LISP
  3. ; Author:       Dan Suthers
  4. ; Created:      08-Jun-88 19:30:34
  5. ; Modified:     24-Jul-88 01:05:24 (Dan Suthers)
  6. ; Language:     LISP
  7. ; Package:      USER
  8. ;
  9. ; Description:  For testing HNET.LISP when it is changed.  One should load
  10. ;               this file after loading HNET and check the printed results.
  11. ;               Do it for both uncompiled and compiled versions of this
  12. ;               file, in SEPARATE lisp sessions.
  13. ;
  14. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  15.  
  16. (in-package 'user)
  17.  
  18. (require :HNET)
  19.  
  20. (use-package :HNET)
  21.  
  22. (format T "~%~%---------- HNET TESTS: MAKING AN HNET AND DEFINING TERMS ----------")
  23. (format T "~%Defining a HNET called TEST:")
  24. (format T " ~S" (hnet test :info "A test hnet."))
  25. (format T "~%The HNET-INFO is:")
  26. (format T " ~S" (hnet-info (sm:gets 'hnet 'test)))
  27.  
  28. (format T "~%Defining some terms for HNET TEST:")
  29. (format T " ~S" (define-term T nil 'test))
  30. (format T " ~S" (define-term 'thing '(t) 'test))
  31. (format T " ~S" (define-term 'animal '(thing) 'test))
  32. (format T " ~S" (define-term 'plant '(thing) 'test))
  33. (format T " ~S" (define-term 'mineral '(thing) 'test))
  34. (format T " ~S" (define-term 'dog '(pet canine) 'test))
  35. (format T " ~S" (define-term 'cat '(pet canine) 'test))
  36.  
  37. (format T "~%~%---------- UNDEFINED TERMS ----------")
  38. (format T "~%Undefined terms should be (PET CANINE):")
  39. (format T " ~S"  (undefined-terms 'test))
  40. (format T "~%Deleting CANINE as super of CAT:")
  41. (format T " ~S" (delete-superordinate 'cat 'canine 'test))
  42. (format T "~%Adding FELINE as super of CAT:")
  43. (format T " ~S" (add-superordinate 'cat 'feline 'test))
  44. (format T "~%Undefined terms should be (CANINE PET FELINE):")
  45. (format T " ~S" (undefined-terms 'test))
  46. (format T "~%Defining PET:")
  47. (format T " ~S" (define-term 'pet '(animal) 'test))
  48. (format T "~%Undefined terms should be (CANINE FELINE):")
  49. (format T " ~S" (undefined-terms 'test))
  50. ;;; Cannot use query functions until (undefined-terms) is nil ...
  51. (format T "~%Defining the remaining terms:")
  52. (format T " ~S" (define-term 'canine '(animal) 'test))
  53. (format T " ~S" (define-term 'feline '(animal) 'test))
  54. (format T " ~S" (define-term 'tiger '(feline) 'test))
  55. (format T " ~S" (define-term 'wolf '(canine) 'test))
  56. (format T "~%Undefined terms should be (): ~S" (undefined-terms 'test))
  57. (format T "~%Defining then undefining FUM:")
  58. (format T " ~S" (define-term 'fum '(thing) 'test))
  59. (format T " ~S" (undefine-term 'fum 'test))
  60. (format T "~%FUM should not be defined:")
  61. (format T " ~S" (defined-p 'fum 'test))
  62.  
  63. (format T "~%~%---------- SUPERORDINATES & SUBORDINATES ----------")
  64. (format T "~%Superordinates of CAT should be (FELINE PET):")
  65. (format T " ~S" (superordinates 'cat 'test))
  66. (format T "~%Superordinate* of CAT should be (CAT PET FELINE ANIMAL THING T):~%")
  67. (format T " ~S" (superordinate* 'cat 'test))
  68. (format T "~%Subordinates of ANIMAL should be (FELINE CANINE PET):")
  69. (format T " ~S" (subordinates 'animal 'test))
  70. (format T "~%Subordinate* of ANIMAL should be (ANIMAL PET CANINE FELINE TIGER WOLF DOG CAT):~%")
  71. (format T " ~S" (subordinate* 'animal 'test))
  72. (format T "~%Subordinate-Leaves of ANIMAL should be (TIGER WOLF DOG CAT):~%")
  73. (format T " ~S" (subordinate-leaves 'animal 'test))
  74.  
  75. (format T "~%~%---------- TERM-INFO tests ----------")
  76. (format T "~%Setting term-info of DOG:")
  77. (format T " ~S" (setf (term-info 'dog 'test) 'happy))
  78. (format T "~%INFO of DOG should be HAPPY:")
  79. (format T " ~S"  (term-info 'dog 'test))
  80.  
  81. (format T "~%~%---------- SUBSUMPTION-RELATION tests ----------")
  82. (format T "~%Relation between DOG and CANINE is SUBORDINATE:")
  83. (format T " ~S" (subsumption-relation 'dog 'canine 'test))
  84. (format T "~%Relation between DOG and THING is SUBORDINATE:")
  85. (format T " ~S" (subsumption-relation 'dog 'thing 'test))
  86. (format T "~%Relation between FELINE and CAT is SUPERORDINATE:")
  87. (format T " ~S" (subsumption-relation 'feline 'cat 'test))
  88. (format T "~%Relation between ANIMAL and CAT is SUPERORDINATE:")
  89. (format T " ~S" (subsumption-relation 'animal 'cat 'test))
  90. (format T "~%Relation between CANINE and FELINE is INCOMPARABLE:")
  91. (format T " ~S" (subsumption-relation 'canine 'feline 'test))
  92. (format T "~%Relation between WOLF and FELINE is INCOMPARABLE:")
  93. (format T " ~S" (subsumption-relation 'wolf 'feline 'test))
  94.  
  95. (format T "~%~%---------- GENERAL INFO ----------")
  96. (format T "~%Defined Terms should be all of the above mentioned: ~%")
  97. (format T " ~S"  (defined-terms 'test))
  98. (format T "~%HNET-ROOTS is (T):")
  99. (format T " ~S"  (hnet-roots 'test))
  100.  
  101. (format T "~%~%---------- END OF HNET TEST ----------
  102. Note: to be sure, try loading both lisp and compiled versions of this
  103. test, IN DIFFERENT LISP SESSIONS, so the second test does not rely on
  104. things defined in the first.~%")
  105.  
  106. ;;; EOF